package controller.commoncontroller;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import model.editormodel.EditorModel;

/**
 * <b>Implementiert:</b> <code>ActionListener</code> <br>
 * <b>In Verbindung stehende Klassen:</b> <code>EditorModel</code><br>
 * <br>
 * Zugehoerige Controllerklasse zum Menueeintrag <i>Importieren</i>. Diese
 * Klasse stoesst das <code>EditorModel</code> zum Laden eines selbstdefinierten
 * Bauteils als eigene Schaltung an. Hier wird ein <code>JFileChooser</code> zum
 * Auswaehlen der gewuenschten Datei erzeugt.
 * 
 * @author Team Locsi
 * 
 */
public class ComponentImportListener implements ActionListener {

	private EditorModel eModel;

	/**
	 * Dieser Konstruktor erzeugt ein neues <code>ComponentImportListener</code>
	 * - Objekt.
	 * 
	 * @param eModel
	 *            <code>EditorModel</code> - Referenz auf das
	 *            <code>EditorModel</code>
	 */
	public ComponentImportListener(EditorModel eModel) {
		this.eModel = eModel;
	}

	/**
	 * Ruft in UtilityDialogs die loadDialog()-Methode auf, die einen JDialog
	 * oeffnet und mit dessen Hilfe eine Datei geladen wird.
	 */
	@Override
	public void actionPerformed(ActionEvent e) {
		UtilityDialogs.loadDialog(eModel, UtilityDialogs.XML_EXTENSION, this);
	}
}